load("@fbcode_macros//build_defs:rust_library.bzl", "rust_library")
load("@fbsource//tools/build_defs:glob_defs.bzl", "glob")

oncall("buck2")

rust_library(
    name = "buck2_build_api",
    srcs = glob(["src/**/*.rs"]),
    test_deps = [
        "//buck2/app/buck2_wrapper_common:buck2_wrapper_common",
    ],
    deps = [
        "fbsource//third-party/blake3:blake3-rust",
        "fbsource//third-party/rust:anyhow",
        "fbsource//third-party/rust:async-recursion",
        "fbsource//third-party/rust:async-trait",
        "fbsource//third-party/rust:dashmap",
        "fbsource//third-party/rust:derivative",
        "fbsource//third-party/rust:derive_more",
        "fbsource//third-party/rust:either",
        "fbsource//third-party/rust:fnv",
        "fbsource//third-party/rust:futures",
        "fbsource//third-party/rust:higher-order-closure",
        "fbsource//third-party/rust:indexmap",
        "fbsource//third-party/rust:internment",
        "fbsource//third-party/rust:inventory",
        "fbsource//third-party/rust:itertools",
        "fbsource//third-party/rust:once_cell",
        "fbsource//third-party/rust:ref-cast",
        "fbsource//third-party/rust:regex",
        "fbsource//third-party/rust:serde",
        "fbsource//third-party/rust:serde_json",
        "fbsource//third-party/rust:shlex",
        "fbsource//third-party/rust:smallvec",
        "fbsource//third-party/rust:static_assertions",
        "fbsource//third-party/rust:thiserror",
        "fbsource//third-party/rust:tokio",
        "fbsource//third-party/rust:tracing",
        "//buck2/allocative/allocative:allocative",
        "//buck2/app/buck2_artifact:buck2_artifact",
        "//buck2/app/buck2_build_api_derive:buck2_build_api_derive",
        "//buck2/app/buck2_build_info:buck2_build_info",
        "//buck2/app/buck2_build_signals:buck2_build_signals",
        "//buck2/app/buck2_cli_proto:buck2_cli_proto",
        "//buck2/app/buck2_common:buck2_common",
        "//buck2/app/buck2_core:buck2_core",
        "//buck2/app/buck2_data:buck2_data",
        "//buck2/app/buck2_events:buck2_events",
        "//buck2/app/buck2_execute:buck2_execute",
        "//buck2/app/buck2_file_watcher:buck2_file_watcher",
        "//buck2/app/buck2_interpreter:buck2_interpreter",
        "//buck2/app/buck2_node:buck2_node",
        "//buck2/app/buck2_query:buck2_query",
        "//buck2/app/buck2_test_api:buck2_test_api",
        "//buck2/app/buck2_util:buck2_util",
        "//buck2/dice/dice:dice",
        "//buck2/gazebo/display_container:display_container",
        "//buck2/gazebo/dupe:dupe",
        "//buck2/gazebo/gazebo:gazebo",
        "//buck2/shed/more_futures:more_futures",
        "//buck2/starlark-rust/starlark:starlark",
        "//buck2/starlark-rust/starlark_map:starlark_map",
        "//common/rust/shed/sorted_vector_map:sorted_vector_map",
    ],
)
